// 导航管理类 - 简约设计
class NavigationManager {
    constructor() {
        this.currentPage = this.getCurrentPage();
        this.init();
    }

    // 获取当前页面
    getCurrentPage() {
        const path = window.location.pathname;
        const filename = path.split('/').pop();
        
        switch (filename) {
            case 'student-management.html':
                return 'student-management';
            case 'data-management.html':
                return 'data-management';
            case 'statistics-analysis.html':
                return 'statistics-analysis';
            case 'credit-warning.html':
                return 'credit-warning';
            default:
                return 'student-management';
        }
    }

    // 初始化导航
    init() {
        this.updateActiveNavItem();
        this.bindNavEvents();
    }

    // 更新活跃导航项
    updateActiveNavItem() {
        const navItems = document.querySelectorAll('.nav-item');
        
        navItems.forEach(item => {
            // 移除所有活跃状态
            item.classList.remove('active', 'text-blue-600', 'bg-blue-50');
            item.classList.add('text-gray-700', 'hover:bg-gray-100');
            
            // 根据当前页面设置活跃状态
            const href = item.getAttribute('href');
            if (href && href.includes(this.currentPage)) {
                item.classList.remove('text-gray-700', 'hover:bg-gray-100');
                item.classList.add('active', 'text-blue-600', 'bg-blue-50');
            }
        });
    }

    // 绑定导航事件
    bindNavEvents() {
        const navItems = document.querySelectorAll('.nav-item');
        
        navItems.forEach(item => {
            item.addEventListener('click', (e) => {
                const href = item.getAttribute('href');
                if (href && href !== '#') {
                    // 如果点击的是当前页面，阻止默认行为
                    if (href.includes(this.currentPage)) {
                        e.preventDefault();
                        return;
                    }
                    
                    // 添加页面切换动画
                    this.addPageTransition();
                    
                    // 延迟跳转，让动画完成
                    setTimeout(() => {
                        window.location.href = href;
                    }, 300);
                }
            });
        });
    }

    // 添加页面切换动画
    addPageTransition() {
        const mainContent = document.querySelector('.main-content');
        if (mainContent) {
            mainContent.style.opacity = '0';
            mainContent.style.transform = 'translateY(20px)';
            mainContent.style.transition = 'all 0.3s ease';
        }
    }

    // 页面加载动画
    addPageLoadAnimation() {
        const mainContent = document.querySelector('.main-content');
        if (mainContent) {
            mainContent.style.opacity = '0';
            mainContent.style.transform = 'translateY(20px)';
            
            setTimeout(() => {
                mainContent.style.transition = 'all 0.3s ease';
                mainContent.style.opacity = '1';
                mainContent.style.transform = 'translateY(0)';
            }, 100);
        }
    }

    // 获取面包屑导航
    getBreadcrumb() {
        const breadcrumbs = {
            'student-management': '学生管理',
            'data-management': '数据管理',
            'statistics-analysis': '统计分析',
            'credit-warning': '学分警示'
        };
        
        return breadcrumbs[this.currentPage] || '首页';
    }

    // 更新页面标题
    updatePageTitle() {
        const titles = {
            'student-management': '学生管理 - 第二课堂素质拓展学分评定系统',
            'data-management': '数据管理 - 第二课堂素质拓展学分评定系统',
            'statistics-analysis': '统计分析 - 第二课堂素质拓展学分评定系统',
            'credit-warning': '学分警示 - 第二课堂素质拓展学分评定系统'
        };
        
        const title = titles[this.currentPage];
        if (title) {
            document.title = title;
        }
    }

    // 处理返回按钮
    handleBackButton() {
        window.addEventListener('popstate', (e) => {
            this.updateActiveNavItem();
        });
    }

    // 添加导航历史
    addNavigationHistory() {
        const state = {
            page: this.currentPage,
            timestamp: Date.now()
        };
        
        window.history.pushState(state, '', window.location.href);
    }

    // 获取导航统计
    getNavigationStats() {
        const stats = JSON.parse(localStorage.getItem('navigationStats') || '{}');
        const currentPage = this.currentPage;
        
        if (!stats[currentPage]) {
            stats[currentPage] = 0;
        }
        stats[currentPage]++;
        
        localStorage.setItem('navigationStats', JSON.stringify(stats));
        return stats;
    }

    // 显示导航提示
    showNavigationTip() {
        const stats = this.getNavigationStats();
        const currentPage = this.currentPage;
        
        // 如果是首次访问某个页面，显示提示
        if (stats[currentPage] === 1) {
            const tips = {
                'student-management': '在这里可以管理学生信息，添加、编辑、删除学生记录。',
                'data-management': '在这里可以导入导出数据，管理数据备份。',
                'statistics-analysis': '在这里可以查看各种统计图表和分析报告。',
                'credit-warning': '在这里可以处理学分预警学生，发送通知。'
            };
            
            const tip = tips[currentPage];
            if (tip) {
                this.showNotification(tip, 'info');
            }
        }
    }

    // 显示通知
    showNotification(message, type = 'info') {
        const notification = document.createElement('div');
        notification.className = `fixed top-4 right-4 p-4 rounded-md shadow-lg z-50 ${
            type === 'success' ? 'bg-green-500 text-white' :
            type === 'error' ? 'bg-red-500 text-white' :
            type === 'warning' ? 'bg-yellow-500 text-white' :
            'bg-blue-500 text-white'
        }`;
        notification.textContent = message;
        
        document.body.appendChild(notification);
        
        setTimeout(() => {
            notification.remove();
        }, 3000);
    }

    // 初始化页面
    initPage() {
        this.updatePageTitle();
        this.addNavigationHistory();
        this.addPageLoadAnimation();
        this.showNavigationTip();
        this.handleBackButton();
    }
}

// 导出导航管理器
if (typeof module !== 'undefined' && module.exports) {
    module.exports = NavigationManager;
} 